package cn.antscrpt.antLib.test 
{
	

    import flash.display.*;
    import flash.net.*;
    import jp.progression.casts.*;
    import mx.graphics.codec.*;
    import caurina.transitions.Tweener;
    import caurina.transitions.properties.ColorShortcuts;
    ColorShortcuts.init();
    
    /**
     * Twitterで緑色アイコンがはやっていたので
     * 画像を緑色にして保存するツールを作ってみました
     * @author Yasu
     */
    public class EX29 extends CastDocument {
        
        public function EX29():void {
            var fr :FileReference = new FileReference();
            var wrap :CastSprite = addChild(new CastSprite( { x:10, y:120 } )) as CastSprite;
            var loader:CastLoader = wrap.addChild(new CastLoader()) as CastLoader;
            
            // 1.ローカル画像の読み込み
            var loadBtn :CastButton = addChild(new CastButton( { x:10, y:10 } )) as CastButton;
            loadBtn.addChild(new CastTextField({text:"SELECT", opaqueBackground: 0xCCCCCC, selectable: false}));
            loadBtn.addEventListener("click", function():void { fr.browse(); });
            
            // 2.緑色にする
            fr.addEventListener("select", function():void { fr.load(); });
            fr.addEventListener("complete", function():void {
                loader.contentLoaderInfo.addEventListener("init", function():void {
                    Tweener.addTween(loader, {_color_redOffset:-150, _color_blueOffset:-150, time:2 } );
                });
                loader.loadBytes(fr.data);
            });
            
            // 3.保存する
            var saveBtn :CastButton = addChild(new CastButton( { x:130, y:10 } )) as CastButton;
            saveBtn.addChild(new CastTextField({text:"SAVE", opaqueBackground: 0xCCCCCC, selectable: false})) ;
            saveBtn.addEventListener("click", function():void {
                if (!loader.content) return;
                var capture :BitmapData = new BitmapData(loader.width, loader.height);
                capture.draw(wrap);
                fr.save((new PNGEncoder()).encode(capture), "geeen-icon.png");
            });
        }
    }
}